home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / networke / xfirepow.000 / xfirepow / xfirepower-0.84 / server / maps / map-tools.el < prev    next >
Lisp/Scheme  |  1995-05-31  |  2KB  |  52 lines

  1. ;; Firepower map editing tools
  2. ;; Joe Rumsey
  3.  
  4. ;; Just do M-x firepower-new-map and follow the prompts
  5. ;; Once you have a blank map, you will be in picture-mode, 
  6. ;; plus pressing C-t will place a random tree.  Hold ^t down
  7. ;; for a while to scatter 'em all over.
  8. ;; 
  9. ;; Note:  You will still need to place exactly one starting point
  10. ;; for both teams ('1' for team one, '2' for team 2) and at least one
  11. ;; flag for each team ('O' for team one, 'T' for team 2)
  12. ;;
  13.  
  14. (defun random-point (arg1 arg2)
  15.   "Move point to a random location between ARG1 and ARG2"
  16.   (interactive)
  17.   (set-window-point (selected-window) 
  18.             (+ arg2 (mod (random) (- arg1 arg2)))))
  19.  
  20. (defun firepower-plant-tree ()
  21.   "plant a tree at a random spot on a firepower map"
  22.   (interactive)
  23.   (set-window-point (selected-window) 0)
  24.   (forward-line 2)
  25.   (random-point (point) (point-max))
  26.   (if (char-equal ?. (char-after (point)))
  27.       (progn (insert-char ?t 1)
  28.          (delete-char 1))))
  29.  
  30. (defun firepower-new-map (file w h)
  31.   "Ask for a file name, width, and height, then create a new map"
  32.   (interactive (list 
  33.         (read-string "File name: " default-directory)
  34.         (read-number "Width: ")
  35.         (read-number "Height: ")))
  36.   (find-file file)
  37.   (set-window-point (selected-window) 0)
  38.   (insert (file-name-nondirectory file) "\n")
  39.   (insert (number-to-string w) " " (number-to-string h) "\n")
  40.   (setq y 0)
  41.   (while (< y h)
  42.     (progn
  43.       (insert-char ?. w)
  44.       (insert-char ?\n 1)
  45.       (setq y (+ y 1))))
  46.   (picture-mode)
  47.   (local-set-key "\C-t" 'firepower-plant-tree))
  48.  
  49.  
  50.  
  51.  
  52.